The Domain Name System (DNS) is an Internet standard name service for
hostname to address translation. Queries are made from a client library
(termed the rrrreeeessssoooollllvvvveeeerrrr((((4444))))) to a server daemon nnnnaaaammmmeeeedddd((((1111MMMM)))). The daemon
nnnnssssdddd((((1111MMMM)))) will make these calls and present the data in a filesystem
namespace when the ddddnnnnssss keyword exists in the nnnnsssssssswwwwiiiittttcccchhhh....ccccoooonnnnffff configuration
file for a domain. This man page documents the behavior of the DNS
extension to the nsd daemon.
The nsd daemon reads all of the nsswitch.conf configuration files, first
////eeeettttcccc////nnnnsssssssswwwwiiiittttcccchhhh....ccccoooonnnnffff for the default domain, then files
////vvvvaaaarrrr////nnnnssss////ddddoooommmmaaaaiiiinnnnssss////DDDDOOOOMMMMAAAAIIIINNNN////nnnnsssssssswwwwiiiittttcccchhhh....ccccoooonnnnffff for each DOMAIN the local host acts
as a server for. As it reads these files if it encounters the keyword
ddddnnnnssss for some map then it will open the DNS library
////vvvvaaaarrrr////nnnnssss////lllliiiibbbb////lllliiiibbbbnnnnssss____ddddnnnnssss....ssssoooo. On first open the library initialization
routine will parse the resolver configuration file ////eeeettttcccc////rrrreeeessssoooollllvvvv....ccccoooonnnnffff to
determine the addresses of nameservers and the domain names to use for
queries.
Extended attributes in the nnnnsssssssswwwwiiiittttcccchhhh....ccccoooonnnnffff file can be used to control the
behavior of the DNS resolver. Extended attributes are simply lists of
key/value pairs attached to each object in the nsd filesystem. The
attributes supported in this library are:
ddddoooommmmaaaaiiiinnnn
This is the domainname given as a parameter to the remote name
server. This attribute is typically inherited from the daemon
depending on the nsswitch.conf file that is being read. Given the
configuration file ////vvvvaaaarrrr////nnnnssss////ddddoooommmmaaaaiiiinnnnssss////DDDDOOOOMMMMAAAAIIIINNNNNNNNAAAAMMMMEEEE////nnnnsssssssswwwwiiiittttcccchhhh....ccccoooonnnnffff the
attribute "domain" is set to DOMAINNAME. For the default domain,
represented by the file ////eeeettttcccc////nnnnsssssssswwwwiiiittttcccchhhh....ccccoooonnnnffff, the domain is unset and
the DNS library uses the search path given in the rrrreeeessssoooollllvvvveeeerrrr((((4444))))
configuration file. If the resolv.conf file is changed then the
change will be reflected in the next lookup.
ttttaaaabbbblllleeee
The ttttaaaabbbblllleeee attribute is typically inherited from the daemon based on
the line from which this entry occurs in the nsswitch.conf file.
This implementation of the DNS resolver recognizes only two tables:
hhhhoooossssttttssss....bbbbyyyynnnnaaaammmmeeee which is translated into a type A request, hhhhoooossssttttssss....bbbbyyyyaaaaddddddddrrrr
which is translated into a type PTR request.
kkkkeeeeyyyy The kkkkeeeeyyyy attribute is set by the daemon on each request. If the
address is fully qualified (ends in a '.') then it is forwarded on
to the remote name server as is. Else, it will have each element of
the search path appended and looked up. If the key contains a